package apuesta.service;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import apuesta.dto.DisciplinaDto;
import apuesta.dto.EquipoDto;
import apuesta.dto.EquipoDto2;
import apuesta.hibernate.HibernateFactoryApuesta;

public class EquipoService {

	public static List<EquipoDto> equiposDisciplina(int id_disciplina){
		List<EquipoDto> equipos = null;
		Session sesion = HibernateFactoryApuesta.getSessionFactory().openSession();
		try{
			Query query = sesion.getNamedQuery("query_equipoxdisciplina");
			query.setInteger("id_disciplina", id_disciplina);
			equipos = (List<EquipoDto>)query.list();
		}catch(Exception ex){
			System.err.println("No se pudo traer la lista de equipos por disciplina: "+ex);
		}finally{
			sesion.close();
		}
		return equipos;
	}

	public static EquipoDto buscar(int id_equipo) {
		Session sesion = HibernateFactoryApuesta.getSessionFactory().openSession();
		EquipoDto equipo = null;
		try{
			equipo = (EquipoDto)sesion.get(EquipoDto.class, id_equipo);
		}catch(Exception ex){
			System.err.println("no se encontro elequipo: "+ex);
		}finally{
			sesion.close();
		}
		return equipo;
	}
	
	public static EquipoDto2 buscar2(int id_equipo) {
		Session sesion = HibernateFactoryApuesta.getSessionFactory().openSession();
		Transaction tx = sesion.beginTransaction();
		EquipoDto2 equipo = null;
		try{
			Query query = sesion.createSQLQuery("select * from t_equipo where Id_Equipo = "+id_equipo).addEntity("EquipoDto2", EquipoDto2.class);
			equipo = (EquipoDto2)query.uniqueResult();
			sesion.flush();
			sesion.clear();
		}catch(Exception ex){
			System.err.println("no se encontro elequipo: "+ex);
		}finally{
			tx.commit();
			sesion.close();
		}
		return equipo;
	}
	
}
